Field of the Invention
The present invention is directed in general to a computer product, a computing device, and a data migration method for use with same. In one aspect, the present invention relates to a method, apparatus, system, and computer program product for migrating hardware-accelerated virtual machines from a source server device to a destination server device.
Description of the Related Art
With increasing processing speed and power, physical computers are able to execute one or more virtual machines (VM) which emulate the computer architecture and functionality of a real or hypothetical targeted computer, and their implementations may involve specialized hardware, software, or a combination of both. Depending on the degree to which they implement the functionality of a real or hypothetical targeted computer, a virtual machine provides an abstract and platform-independent substitute for the targeted computer. For example, Freescale's QorIQ™ communications platform P4 series processors provide a multicore processor architecture with high-performance datapath acceleration logic, where the processors may execute hypervisor software which allows cores to run different operating systems on multiple virtual machines or partitions, even on a single core.
For a variety of different reasons, a virtual machine running on the hardware of a first physical computer may be moved or copied to hardware on a second physical computer using a “migration” process whereby an operating system (OS) and application being executed by the virtual machine on the first physical computer hardware can be moved to the second physical computer hardware with little or no interruption or suspension of functionality. For example, live migration may be used to move a running virtual machine or application between different physical machines without disconnecting the client or application when maintenance work on one or the physical machines is done. While virtual machine migration is relatively straightforward when transferring software functionality (e.g., the processor and memory) of a virtual machine from the original host machine to a destination machine, such techniques are not well-suited for migrating specialized hardware which provides dedicated hardware functionality (e.g., fast path hardware offloads, such as encryption or packet processing acceleration hardware) that is used by the virtual machine at the host device. As a result, the existing solutions for correctly migrating virtual machines which use specialized hardware are extremely difficult or impossible at a practical level.